Flat-panel displays are widely used for portable computers such as laptop and notebook personal computers (PCs). Super-twisted nematic (STN) liquid-crystal displays (LCDs) are relatively inexpensive. Most of these displays are inherently digital devices that display pixels as either on or off. In contrast, cathode-ray tube (CRT) monitors are inherently analog devices, receiving analog voltages that generate pixels as color shades within a continuous spectrum of colors. Many portable PCs contain a built-in flat-panel display and a port or connector for an external CRT display. Thus both the CRT and the flat-panel are driven by the portable PC's graphics system.
The analog CRT pixels (as 8-bit digitized values) are converted to binary digital pixels by a gray-scale converter. The color intensities are converted to on or off pixels. While the term "gray" scaling is still used, this shading technique is applied to color displays as well as black-and-white monochrome displays. The shading technique is applied to the three primary color components (red, green, blue) to achieve color shades.
LCD Pixels Stored in 3-Bit Format--FIG. 1
FIG. 1 shows that CRT pixels are stored in a 24-bit format while LCD pixels are stored in a 3-bit format. Eight bits are used to indicate the intensity of each color component in the 24-bit-per-pixel format. For example, when the R component is 000, G is 107, and B is 255, then red is off, blue in fully on, and green is not quite halfway on. This is a blue-green color shade.
Upon LCD conversion, the 24-bit format is reduced to only 3 bits. These 3 bits indicate when each of the R,G,B color components are on or off. The blue-green color (000,107,255) is converted to (0,1,1). This has red off bit both blue and green fully on. The color conversion is not exact since the LCD converted pixel has more green (50%) than the 24-bit pixel (29.6%).
Frame-Rate-Cycling--FIG. 2
A common gray-scaling technique is known as frame-rate cycling (FRC). A pixel's shading is approximated by blinking the pixel on and off over a cycle of several frames. For example, a 50% gray can be approximated by turning the pixel on for one frame, but off for the next frame. A 25% gray scale is approximated by turning the pixel on for one frame, then off for three frames.
Frame-rate cycling (FRC) improves accuracy of conversion, since multiple frames (typically two frames) are generated for each input CRT frame. If four frames could be generated for each input CRT frame, as shown in FIG. 2, then gray-scale conversion is more accurate. FIG. 2 shows an example where each input CRT frame is converted to four LCD frames using data acceleration. CRT frame I is converted by gray-scale conversion to four LCD frames 1, 2, 3, 4. While CRT frames use a 24-bit-per-pixel format, LCD frames use 3-bits-per-pixel. CRT frame II, the next frame from the frame buffer and pixel pipeline, is likewise converted to four LCD frames 5, 6, 7, 8. The LCD frames are sent to the flat panel at four times the rate of the CRT frames. The four frames can be used to better approximate the colors of the CRT pixels.
Frame-rate cycling is used to better approximate color shades. For example, when the green component G is 107 (41% of 255), it can be approximated as shown in FIG. 7. For CRT frame I, G=128 is converted to LCD frames that have G on 50% of the time. LCD frames 1 and 3 have G on, but LCD frames 2 and 4 have G off.
CRT frame 2 has G=64, one-quarter of the full 255 value. LCD frame 5 has G on, but LCD frames 6, 7, 8 have G off. Thus G is on 25% of the time.
When G=107, it could be approximated by either G=128 or G=64. These are better approximations than FIG. 6, which approximates G=107 as fully on (G=255). Using more frames results in better shading approximations, since intermediate values can be generated. For example, if 8 frames were generated per CRT frame, then G=96 could be generated, a still better approximation for G=107 than G=128 or G=64, the closest value available for four frames.
Unfortunately, generating multiple frames to approximate a shade is limited by the maximum refresh rate the flat panel can tolerate and by the slower frame integration time introduced. For example, keeping both the integration time down to 100 mS and the maximum frame rate below 200 Hz limits the number of frames displayable for approximating each shade to 20 Frames. Such limits require either faster, more expensive panels, or are simply not supportable.
5 Shades from 4-Frame FRC--FIG. 3
FIG. 3 shows that 5 gray shades can be generated from blinking pixels on and off over a 4-frame FRC cycling. When two CRT frames are converted into four LCD frames, any pixel position on the flat-panel display can be turned on for 0, 1, 2, 3, or 4 of the frames. When the pixel is turned on for all four frames (1111), the maximum intensity is generated. When the pixel is turned off for all four frames (0000), the minimum intensity is generated.
The shade of a pixel is related to the amount of time the pixel is on. If each pixel is on for 25 micro-seconds (.mu.S) for each frame, then the pixel is on for a total of 100 .mu.S over the four frames for maximum intensity (1111), or 0 .mu.S for minimum intensity. When the pixel is on for three of the four frames (1110), the pixel is on for 75 .mu.S, about 75% of maximum intensity. Likewise for pixels on half of the frames (1100), 50 .mu.S (50% intensity) or on for one of the four frames (1000), 25 .mu.S (25% intensity).
A total of five shades can be generated for any pixel using 4-frame FRC. Any pixel can be on for 100%, 75%, 50%, 25%, or 0% of the four frames.
The gray shade produced does not depend on which of the four frames a pixel is on or off. The same 25% gray scale is produced whether the pixel is on for the first frame and off for the last three (1000), or on for just the second, third, or fourth frames (0100), (0010), (0001). Since each frame has identical timing, the pixel is on for 25 .mu.S per frame, regardless of which frame the pixel is turned on.
Although there are 16 combinations possible of the four frames, only 5 shades are produced since many combinations produce the same on time for the pixel. The exact pattern of turning the pixel on and off over the four frames is often chosen for other reasons, such as flicker reduction.
Identical Timing for Each Frame and Row--FIG. 4
FIG. 4 highlights that each horizontal line or row of each frame is on for the same period of time. A pixel clock PIX.sub.-- CLK is used to transfer pixels to a shift register in the flat-panel display. Sometimes multiple pixels are latched in for each clock period, so the pixel clock is sometimes called a character or shift clock. After an entire line of pixels has been latched in, a line pulse (LP) is generated to load the entire row into the display matrix. These loaded pixels either turn on or turn off display elements in the matrix that remain on or off until the next line pulse (LP).
The period of the line pulse, T1, is a multiple of the pixel clock period. The line period is somewhat longer than required for the number of displayed pixels in a line. The extra time is called the retrace or blanking period. For example, a SVGA line of 800 displayed pixels might have a total period of 1024 pixel periods. Each line within a frame has the same period T1, and each frame has the same total period.
CRT monitors are analog devices that are synchronized to inputs such as vertical and horizontal sync pulses. The CRT's data is timed to these sync pulses. These sync pulses must be very stable signals having a constant period; otherwise the pixel data appears at the wrong point on the display screen. Should the period vary, pixel positioning can be lost, resulting in distortions or loss of picture.
Flat-Panel signals such as the line pulse and a frame clock are often derived from CRT sync signals. Indeed, the line pulse is often called the horizontal clock H.sub.-- CLK. Since the flat-panel signals are derived from the CRT signals, they are also stable, constant-period signals.
An axiom of graphics design is this stability of signals, having exactly equal periods over many lines and frames. While flat-panel displays, being digital devices, do not phase-lock to inputs, most graphics designers, trained in traditional CRT design, stick to constant-period signals.
Recently some graphics systems are using varying-period signals for reducing electromagnetic emissions and interference (EMI). See for example "EMI Reduction for a Flat-Panel Display Controller Using Horizontal-Line-Based Spread Spectrum", U.S. Ser. No. 08/701,814, now U.S. Pat. No. 5,757,338, where the period to the flat panel is modulated using spread-spectrum techniques to reduce EMI.
What is desired is a graphics controller with improved gray-scaling. It is desired to increase the number of gray shades produced for a fixed number of frames. It is desired to produce more than 5 gray shades over a 4-frame FRC cycle. It is desired to take advantage of the inherently digital nature of the flat-panel display to increase available gray scales using FRC.